home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc Source Code / Storage / Document.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-22  |  6.8 KB  |  211 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Document.cpp
  3.  
  4.     Contains:    Implementation of ODDocument
  5.     
  6.     Owned by:    Vincent Lo
  7.  
  8.     Copyright:    © 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <7>     10/8/95    TJ        Fixes Recomended by Refball
  13.          <6>      8/3/95    RR        #1257260: Collapse B classes. Remove
  14.                                     somInit methods. Don't call IsInitialized
  15.                                     or SubclassResponsibility
  16.          <5>     5/26/95    VL        1251403: Multithreading naming support.
  17.          <4>     9/23/94    VL        1184166: DocumentName is ODIText now.
  18.          <3>      9/6/94    VL        1184154: Removed Document Properties.
  19.          <2>     7/11/94    VL        Added Exists and SubClassResponsibility.
  20.          <1>     6/28/94    VL        first checked in
  21.  
  22.     To Do:
  23. */
  24.  
  25. #define ODDocument_Class_Source
  26. #include <Document.xih>
  27.  
  28. #ifndef _ITEXT_
  29. #include <IText.h>
  30. #endif
  31.  
  32. SOM_Scope ODContainer*  SOMLINK ODDocumentGetContainer(ODDocument *somSelf, Environment *ev)
  33. {
  34.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  35.     ODDocumentMethodDebug("ODDocument","ODDocumentGetContainer");
  36.  
  37.     WARN("A subclass should have overridden this method!");
  38.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  39.     return kODNULL;
  40. }
  41.  
  42. SOM_Scope ODDocumentID  SOMLINK ODDocumentGetID(ODDocument *somSelf, Environment *ev)
  43. {
  44.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  45.     ODDocumentMethodDebug("ODDocument","ODDocumentGetID");
  46.  
  47.     WARN("A subclass should have overridden this method!");
  48.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  49.     return 0;
  50. }
  51.  
  52. SOM_Scope ODDocumentName  SOMLINK ODDocumentGetName(ODDocument *somSelf, Environment *ev)
  53. {
  54.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  55.     ODDocumentMethodDebug("ODDocument","ODDocumentGetName");
  56.  
  57.     WARN("A subclass should have overridden this method!");
  58.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  59.     
  60.     // The following two lines are used to pacify the compiler.
  61.     // They should never be executed.
  62.     ODDocumentName    name;
  63.     return name;
  64. }
  65.  
  66. SOM_Scope void  SOMLINK ODDocumentSetName(ODDocument *somSelf, Environment *ev,
  67.         ODDocumentName* name)
  68. {
  69.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  70.     ODDocumentMethodDebug("ODDocument","ODDocumentSetName");
  71.  
  72.     WARN("A subclass should have overridden this method!");
  73.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  74. }
  75.  
  76. SOM_Scope ODDocument*  SOMLINK ODDocumentCollapseDrafts(ODDocument *somSelf, Environment *ev,
  77.         ODDraft* from,
  78.         ODDraft* to)
  79. {
  80.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  81.     ODDocumentMethodDebug("ODDocument","ODDocumentCollapseDrafts");
  82.  
  83.     WARN("A subclass should have overridden this method!");
  84.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  85.     return somSelf;
  86. }
  87.  
  88. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireDraft(ODDocument *somSelf, Environment *ev,
  89.         ODDraftPermissions perms,
  90.         ODDraftID id,
  91.         ODDraft* draft,
  92.         ODPositionCode posCode,
  93.         ODBoolean release)
  94. {
  95.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  96.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  97.  
  98.     WARN("A subclass should have overridden this method!");
  99.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  100.     return kODNULL;
  101. }
  102.  
  103. SOM_Scope ODBoolean  SOMLINK ODDocumentExists(ODDocument *somSelf, Environment *ev,
  104.         ODDraftID id,
  105.         ODDraft* draft,
  106.         ODPositionCode posCode)
  107. {
  108.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  109.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  110.  
  111.     WARN("A subclass should have overridden this method!");
  112.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  113.     return kODFalse;
  114. }
  115.  
  116. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireBaseDraft(ODDocument *somSelf, Environment *ev,
  117.         ODDraftPermissions perms)
  118. {
  119.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  120.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireBaseDraft");
  121.  
  122.     WARN("A subclass should have overridden this method!");
  123.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  124.     return kODNULL;
  125. }
  126.  
  127. SOM_Scope ODDraft*  SOMLINK ODDocumentCreateDraft(ODDocument *somSelf, Environment *ev,
  128.         ODDraft* below,
  129.         ODBoolean releaseBelow)
  130. {
  131.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  132.     ODDocumentMethodDebug("ODDocument","ODDocumentCreateDraft");
  133.  
  134.     WARN("A subclass should have overridden this method!");
  135.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  136.     return kODNULL;
  137. }
  138.  
  139. SOM_Scope void  SOMLINK ODDocumentSaveToAPrevDraft(ODDocument *somSelf, Environment *ev,
  140.         ODDraft* from,
  141.         ODDraft* to)
  142. {
  143.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  144.     ODDocumentMethodDebug("ODDocument","ODDocumentSaveToAPrevDraft");
  145.  
  146.     WARN("A subclass should have overridden this method!");
  147.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  148. }
  149.  
  150. /*
  151.  *  private by convention
  152.  */
  153.  
  154. SOM_Scope void  SOMLINK ODDocumentSetBaseDraftFromForeignDraft(ODDocument *somSelf, Environment *ev,
  155.         ODDraft* draft)
  156. {
  157.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  158.     ODDocumentMethodDebug("ODDocument","ODDocumentSetBaseDraftFromForeignDraft");
  159.  
  160.     WARN("A subclass should have overridden this method!");
  161.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  162. }
  163.  
  164. SOM_Scope void  SOMLINK ODDocumentInitDocument(ODDocument *somSelf, Environment *ev,
  165.         ODContainer* container,
  166.         ODDocumentID id)
  167. {
  168.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  169.     ODDocumentMethodDebug("ODDocument","ODDocumentInitDocument");
  170.  
  171.     SOM_TRY
  172.     somSelf->InitRefCntObject(ev);
  173.     SOM_CATCH_ALL
  174.     SOM_ENDTRY
  175. }
  176.  
  177. SOM_Scope ODDocument*  SOMLINK ODDocumentReleaseDraft(ODDocument *somSelf, Environment *ev,
  178.         ODDraft* draft)
  179. {
  180.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  181.     ODDocumentMethodDebug("ODDocument","ODDocumentReleaseDraft");
  182.  
  183.     WARN("A subclass should have overridden this method!");
  184.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  185.     return somSelf;
  186. }
  187.  
  188. SOM_Scope void  SOMLINK ODDocumentsomUninit(ODDocument *somSelf)
  189. {
  190.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  191.     ODDocumentMethodDebug("ODDocument","ODDocumentsomUninit");
  192.  
  193.     ODDocument_parent_ODRefCntObject_somUninit(somSelf);
  194. }
  195.  
  196. SOM_Scope void  SOMLINK ODDocumentAcquire(ODDocument *somSelf, Environment *ev)
  197. {
  198.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  199.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquire");
  200.  
  201.     ODDocument_parent_ODRefCntObject_Acquire(somSelf,ev);
  202. }
  203.  
  204. SOM_Scope void  SOMLINK ODDocumentRelease(ODDocument *somSelf, Environment *ev)
  205. {
  206.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  207.     ODDocumentMethodDebug("ODDocument","ODDocumentRelease");
  208.  
  209.     ODDocument_parent_ODRefCntObject_Release(somSelf,ev);
  210. }
  211.